home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / tcoop.arc / TCOOP2.ARC / RSOUNIT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-26  |  1.2 KB  |  43 lines

  1. // rectangle classes: rsounit.h
  2.  
  3. #ifndef H_RSOUNIT
  4. #define H_RSOUNIT
  5.  
  6. #include "scrnsty.h"
  7.  
  8. enum { False = 0, True = 1 };
  9.  
  10. // ------------ Rectangle Class ------------ 
  11.  
  12. class Rect {
  13. public:
  14.    int Xul, Yul;  // Upper left-hand corner  
  15.    int Xlr, Ylr;  // Lower right-hand corner 
  16.    int Wd, Ht;    // Overall size      
  17.    Rect(int X, int Y, int W, int H);
  18.    virtual ~Rect(void) { ; }
  19.    virtual void SetSize(int W, int H); 
  20.    virtual void SetLocn(int Xl, int Yl);
  21.    virtual void ClipSize(int &W, int &H);
  22.    virtual void ClipDim(int &X, int &Y, int &W, int &H); 
  23.    virtual int HzClip(int &X, int &Y, int &N);
  24.    virtual int VtClip(int &X, int &Y, int &N);
  25.    virtual int Contains(int X, int Y);
  26.    virtual int Touches(Rect *R);
  27. };
  28.  
  29. // ------------ Rectangular Screen Object Class ------------
  30.  
  31. class Rso : public Rect {
  32. public:
  33.   Rso(int X, int Y, int W, int H) : Rect(X,Y,W,H) { ; }
  34.   virtual void HzWrt(int, int, char *, char) = 0;
  35.   virtual void HzWrtB(int, int, char *) = 0;
  36.   virtual void Fill(int, int, int, int, char, char) = 0;
  37.   virtual void FillB(int, int, int, int, char, char) = 0;
  38.   virtual void Box(int, int, int, int, char, char) = 0;
  39.   virtual void Scroll(ScrollDir, int) { ; }
  40. };
  41.  
  42. #endif
  43.